package cn.walls1717.wallsmall.cart.feign;

import cn.walls1717.wallsmall.common.utils.R;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;

import java.math.BigDecimal;
import java.util.List;

/**
 * 商品服务Feign
 *
 * @author walls1717
 * @since 2022/11/15 11:17
 **/
@FeignClient("wallsmall-product")
public interface ProductFeignService {

    /**
     * 根据skuId获取sku信息
     *
     * @param skuId skuId
     * @return sku信息
     */
    @RequestMapping("/product/skuinfo/info/{skuId}")
    R getSkuInfo(@PathVariable("skuId") Long skuId);

    /**
     * 根据skuId获取销售属性
     *
     * @param skuId skuId
     * @return 属性集合[颜色:xxx]
     */
    @GetMapping("/product/skusaleattrvalue/string/list/{skuId}")
    List<String> listSkuSaleAttrValues(@PathVariable("skuId") Long skuId);

    /**
     * 根据skuId获取商品价格
     *
     * @param skuId skuId
     * @return 商品价格
     */
    @GetMapping("/product/skuinfo/{skuId}/price")
    BigDecimal getPriceBySkuId(@PathVariable("skuId") Long skuId);
}
